セルに値が保存されているファイルを開く (Open files with values stored in cells)


問題の説明

セルに値が保存されているファイルを開く (Open files with values stored in cells)

Okay the title is a little ambiguous but what I'm trying to do is the following: I have a column of file names and I want to open them all using vba.  I'm assuming it would be something like what I have below but I'm missing something. The number of files can change so I can't use a definite range.

For each cl in workbookC.worksheets("sheet1").range("A"). If cl.value <> "" then. Open (filename="cl.value"). End if. Next cl

リファレンスソリューション

方法 1:

The code below should work.  Note that I would suggest not only making sure that the cell is not blank but also checking if the file exists using a FileSystemObject before attempting to opening.  

Dim sourceWorksheet
Set sourceWorksheet = workbookC.Worksheets("sheet1")

Dim row
For row = 1 To 10       'rows containing filenames
    If sourceWorksheet.Cells(row, 1).Value <> "" Then
        Dim xlwb
        Set xlwb = Workbooks.Open(sourceWorksheet.Cells(row, 1).Value)
            'do stuff
        xlwb.Close
    End If
Next

(by Sean Connecticutmr.Reband)

リファレンスドキュメント

  1. Open files with values stored in cells (CC BY‑SA 3.0/4.0)

#vba #excel






関連する質問

2010カスタムリボンにアクセス (access 2010 custom ribbon)

セルに値が保存されているファイルを開く (Open files with values stored in cells)

コンソールはプログラミング言語で制御できますか? (Can consoles be controlled by programming languages?)

このコードを変更して、最後の行の下の行にデータを貼り付けるにはどうすればよいですか? (How do I modify this code to paste in the row under last row with data?)

Selenium-vba クラス名で要素を取得 (Selenium-vba Get element by Class Name)

セルからデータを抽出し、セルをアルファベット順に並べ替えるにはどうすればよいですか? (How do I extract data from a cell and order the cells alphabetically?)

VBAコードがセルをアクティブにしない (VBA code not activating cell)

列をExcel VBAループして、空白以外をコピーして他の3つの列に貼り付けますか? (Excel VBA Loop through Column to Copy and Paste Non Blanks to 3 other Columns?)

コードは 2 つの製品で動作しますが、3 番目の製品コードを追加すると、データが取得されますが、3 番目の製品だけに保存されません。どうしたの? (Code works with two products but when I add a third product code grabs data but doesn't save it only for third product. What's wrong with it?)

シート 2 の範囲内のセル名に基づいてシート (シート 1) を複製して名前を変更するために必要な VBA コード (VBA code needed to duplicate and rename a sheet (Sheet 1) based on cell names in a range on Sheet 2)

signtool.exe エラー: Excel マクロの署名時に SignerSign() が失敗しました (-2147220492/0x800403f4) (signtool.exe Error: SignerSign() failed (-2147220492/0x800403f4) when signing Excel Macro)

Excelで1つの列の「 - 」で区切られたデータを複数に分割する (Divide data separated from ' - ' in one column into more in excel)







コメント